草庐IT

java - 如何使用反射调用java中的方法

全部标签

ruby - MiniTest 的 assert_in_delta 和 assert_in_epsilon 方法有什么区别?

这里是documentationforassert_in_delta:assert_in_delta(exp,act,delta=0.001,msg=nil)publicForcomparingFloats.Failsunlessexpandactarewithindeltaofeachother.assert_in_deltaMath::PI,(22.0/7.0),0.01这里是documentationforassert_in_epsilonassert_in_epsilon(a,b,epsilon=0.001,msg=nil)publicForcomparingFloats.Fa

Ruby 类实例方法 def 初始化 : instance or class method?

让我们来看一个普通的ruby​​类:classPersonattr_accessor:namedefinitializename@name=nameendendbob=Person.new("bob")我的问题是初始化的性质。事情是这样的,new显然是一个类方法,但在我看来initialize是一个实例方法(不是类),它在类方法创建的实例上调用new被调用。我有这个权利吗?或者有人可以阐明一些新的观点吗?我做了一些谷歌搜索,但找不到任何清晰度。 最佳答案 当一个新对象被初始化时(也就是说,当你在一个类上调用new时)有效调用的是这个

ruby - 如何在 Ruby 中找到方法的嵌套?

在Ruby中,常量查找受嵌套的影响,而方法保留其嵌套。例如,如果我有这些模块:moduleAX=1endmoduleBX=2endmoduleFooend我可以定义一个方法Foo.a,它嵌套了[A,Foo]:moduleFoomodule::AModule.nesting#=>[A,Foo]defFoo.aXendendendFoo.a#=>1还有一个方法Foo.b嵌套了[Foo,B]:moduleBmodule::FooModule.nesting#=>[Foo,B]defFoo.bXendendendFoo.b#=>2如果我定义Foo::X,区别就会变得很明显:Foo::X=3Fo

ruby-on-rails - 验证终端命令已在 Rails 中成功运行的最佳方法是什么?

我正在编写一个快速的Rails应用程序,并且想知道如何验证执行的命令是否成功。我正在运行的两个命令是SVN更新,以及从一个目录到另一个目录的cp。 最佳答案 如果您使用Kernel.system()方法,它将返回一个bool值,指示命令是否成功。result=system("cp-rdir1dir2")if(result)#dothenextthingelse#handletheerror不同的ruby系统命令有很好的比较here. 关于ruby-on-rails-验证终端命令已在Rai

ruby-on-rails - 当 AJAX 调用在 Ruby on Rails 中失败时重定向到 500 页

我正在使用一个用RubyonRails构建的应用程序,目前错误处理非常差。如果通过ajax执行Controller方法,并且该方法导致500(或404或任何其他响应),则呈现500.html页面并将其作为AJAX请求的结果返回。显然,javascript不知道如何处理该HTML,网页看起来只是在等待响应。在AJAX调用期间发生错误时,rails是否有一种简单的方法来呈现error.rjs模板? 最佳答案 您可以在Controller的rescue_action或rescue_action_in_public方法中使用respond_

ruby-on-rails - 如何从 Rails 中重启 Rails?

好的,所以我想在Rails中创建一个Action来重新启动它自己。我做了一些搜索,发现:http://snippets.dzone.com/posts/show/5002建议使用2个命令,一个停止,另一个重新启动。以下杀戮:ps-a|grep"/usr/local/bin/rubyscript/server"|grep-v"grep/usr"|cut-d""-f1|xargs-n1kill-KILL$1-HUP信号没有为我重新启动,所以我试图破坏上面的命令(调整后命令可以很好地适应我在Ubuntu下启动服务器的方式):ps-eaf|grep"rubyscript/server"|gre

ruby - 你如何断言另一个 ruby​​ 模块的异常被抛出? (使用 assert_throws)

我正在尝试编写这样的代码:assert_throws(:ExtractionFailed){unit.extract_from('5x2005')}ExtractionFailed是Exception的一个简单子(monad)类,在test/unit下,我试图断言它在我调用unit.extract_from(...坏数据...)我已经将ExtractionFailed移动到SemanticText模块中,所以现在test/unit说:expectedtobethrownbutwasthrown.我尝试编写assert_throws(:SemanticText::ExtractionFa

ruby - Ruby 的数组如何。比较元素是否相等?

下面是一些示例代码:classObjattr:c,truedef==thatp'=='that.c==self.cenddefthatp''that.cself.cenddefequal?thatp'equal?'that.c.equal?self.cenddefeql?thatp'eql?'that.c.eql?self.cendenda=Obj.newb=Obj.newa.c=1b.c=1p[a]|[b]它打印2个对象,但它应该打印1个对象。没有调用任何比较方法。阵列如何。|比较平等? 最佳答案 Array#|是使用散列实现的。

ruby - 有没有办法将 html 刷新到 Sinatra 中的线路

我有一个Sinatra应用程序,它有一个长时间运行的进程(网络抓取工具)。我希望应用程序在爬虫运行时而不是在结束时刷新爬虫进度的结果。我已经考虑过fork请求并使用ajax做一些有趣的事情,但这是一个非常基本的单页应用程序,实际上只需要在它发生时将日志输出到浏览器。有什么建议吗? 最佳答案 更新(2012-03-21)从Sinatra1.3.0开始,您可以使用新的流式API:get'/'dostreamdo|out|out旧答案不幸的是,您没有可以简单地刷新到的流(这不适用于Rack中间件)。从路由block返回的结果可以简单地响应

ruby - 如何在子类中的方法前后运行代码?

我的第一个想法是这样的:classAbstractBuilderattr_reader:time_takendefbuild_with_timerstarted_at=Time.nowbuild@time_taken=Time.now-started_atenddefbuildraise'Implementthismethodinasubclass'endendclassMyBuilder我怀疑有更好的方法可以提供更好的灵active,例如理想情况下,我想在MyBuilder的实例上调用“build”而不是“build_with_timer”,并且始终记录执行时间。我确实考虑过使用al